package FrameDemo;

import javax.swing.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;

public class ActionerTest {

    public static void main(String[] args) {
        JFrame jFrame = new JFrame();
        jFrame.setSize(500,500);
        jFrame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
        jFrame.setLayout(null);

        JButton jButton = new JButton("按钮");
        jButton.setBounds(0,0,100,100);
        jFrame.getContentPane().add(jButton);

        jButton.addActionListener(e -> System.out.println("打击"));
//        addActionListener：动作监听器（鼠标点击，空格按下）

        jButton.setFocusable(false);//取消焦点
        //焦点： 程序的注意力集中在了某一个组件

        // 注： 按钮组件比较特殊，在创建好之后，程序的焦点，默认就停在按钮组件上
        //      但按钮组件，其实并不需要占用程序的焦点



        /*

        键盘监听事件：KeyListener:


         */

        jFrame.addKeyListener(new KeyListener() {
            @Override
           // 键入某个键时调用此方法
            public void keyTyped(KeyEvent e) {
                //fn ctrl esc 上下左右监听不到，只能监听部分按键
            }

            @Override
            //按下某个键时调用此方法
            public void keyPressed(KeyEvent e) {
                System.out.println("释放");
//                int keyCode = e.getKeyCode();//每个键都有唯一的值
////                System.out.println(keyCode);
//                if (keyCode==37){
//                    System.out.println("左移动业务");
//                } else if (keyCode ==38) {
//                    System.out.println("上移动业务");
//                } else if (keyCode==39) {
//                    System.out.println("右移动服务");
//                } else if (keyCode==40) {
//                    System.out.println("下移动服务");
//                }

            }

            @Override
            //释放某个键时调用此方法
            public void keyReleased(KeyEvent e) {

            }
        });

        jFrame.setVisible(true);


    }
}
